A current-steering digital to analog converter (DAC) can be constructed of from multiple equal current sources, each steering all the current to one side or the other of the differential outputs. One pre-requisite to achieve excellent linearity at high frequency is that the steering of each individual current source happens exactly at the same time instant (e.g., controlled by a clock). If some switch toggle consistently before some other switch, a harmonic distortion will be visible in the output spectrum. Dynamic element matching can be used to dynamically change the “logic” definition of each unit at each clock cycle. This approach relies on the “randomness” of the unit scrambling and can be implemented using digital logic. But, rather than correcting the problems, this technique only transforms the “non-linearity” into “noise.” Another technique measures the timing mismatch between the units with a mixer and a high-dynamic range/low-speed analog to digital converter (ADC). Once the relative between units timing errors are identified, a correction or logic re-ordering can be applied to the units in order to respectively correct or minimize the error profile. This technique has the drawback that it requires a dedicated high dynamic range ADC, which is very difficult and time consuming to design.